前言
今天我們將介紹如何在 Ubuntu 上安裝 Snort,並提供詳細的安裝步驟
虛擬機環境
以下是我所使用的虛擬機環境設定,供大家參考
- 作業系統: Ubuntu 22.04
- 記憶體: 至少 4GB
- 處理器: 至少雙核 CPU
安裝步驟
# 更新系統
sudo apt-get update
sudo apt list --upgradable
# 設定時區為台灣(Asia/Taipei)
sudo timedatectl set-timezone Asia/Taipei
安裝 Snort 時,系統會詢問您一些問題,選擇Y以繼續安裝:
sudo apt install snort
請注意,安裝 Snort 時需要根據網路環境進行設定,包括設定網路範圍和 snort.conf 文件
設定網路範圍:
安裝過程中,會被要求設定自己的網路範圍
預設的Snort 設置文件 snort.conf 中,Snort 的網路範圍為 192.168.16.0,這代表從 192.168.0.0 到192.168.255.255 的所有 IP 範圍
讓我們來打開 snort.conf,看看裡面有哪些內容吧!
一進來就可以看到 Snort 一些聯絡資訊以及版本和建置選項
sudo vi /etc/snort/snort.conf
Snort 建置選項介紹 (Snort build options):
- --enable-gre
已啟用 GRE(Generic Routing Encapsulation)封包支援
- --enable-mpls
已啟用 MPLS(Multi-Protocol Label Switching)流量支援
- --enable-targetbased
已啟用目標檢測功能,Snort 特定目標的流量來進行檢測和分析
- --enable-ppm
已啟用性能計數器(Performance Profiling Module)
- --enable-perfprofiling
幫助管理者了解 Snort 在不同情況下的性能表現,進行調整和優化
- --enable-zlib
已啟用zlib壓縮庫
- --enable-active-response
Snort 檢測到威脅時,可以自動執行預定動作,例如:封鎖IP等
- --enable-normalizer
已啟用流量正規化功能
- --enable-reload
允許在 Snort 運行時動態新的設定和規則,而不需要重新啟動服務
- --enable-react
Snort 在檢測到事件後,執行預設的防禦措施
- --enable-flexresp3
Snort 一種主動防禦機制,能夠在檢測到攻擊時執行自定義的操作,例如:重新連接
設定 snort.conf
snort.conf 文件內設定內容:
按照以下步驟建立自己的自定義設定
- 設定網路
- 設定解碼器
- 設定基礎偵測引擎
- 設定動態庫
- 設定預處理器
- 設定輸出插件
- 自訂規則集
- 自訂預處理器和解碼器規則
- 自訂共享物件規則集
若要設定網路範圍,可以在 snort.conf 文件中尋找 ipvar HOME_NET 變數:
- 打開 snort.conf 文件:
sudo vi /etc/snort/snort.conf
- 在 vi 或 vim 中,按 / 鍵進入搜尋模式
- 接著輸入您要搜尋的關鍵字「HOME_NET」,然後按下 Enter 鍵,系統將會跳轉至第一個配對的「HOME_NET」位置
- 幫助您快速找到 snort.conf 文件中設定 HOME_NET 的部分,方便進行修改或檢查
執行測試
- 更改 snort.conf 後,需要確認 Snort 是否可以正常運行
sudo snort -T -c /etc/snort/snort.conf
- Sniffer 模式
顯示經過網路介面的所有封包流量,這種模式用於實時查看封包流量,而不進行任何的檢測或警報
-v 參數表示 Snort 以「詳細」模式運行,這會顯示封包的基本信息,而非完整的數據
sudo snort -v
參考資料